package com.ttbj.timer.service.achieved;

import java.util.concurrent.DelayQueue;

import com.ttbj.timer.po.AchievedOrder;

public interface AchievedService {
	/**
	 * 开始
	 * @param listener
	 */
	 public void start(OnAchieveListener listener);
	 /**
	  * 添加完成订单
	  * @param order
	  */
	 public void add(AchievedOrder order);
	 /**
	  * 移除完成订单
	  * @param order
	  * @return
	  */
	 public boolean remove(AchievedOrder order);
	 /**
	  * 添加订单Id生成完成订单
	  * @param orderId
	  */
	 public void add(Long orderId);
	 /**
	  * 移除订单Id
	  * @param orderId
	  */
	 public void remove(Long orderId);
	 
	 /**
	  * 提取缓存转换成延时队列
	  */
	 public DelayQueue<AchievedOrder> convertQueue();
}
